在前端開發中,我們經常需要呼叫別人的 API 來操作處理資料。但是,有時候當我們在開發過程中嘗試呼叫第三方 API Server 時,會遇到以下類似的報錯訊息:
Access to fetch at 'https://api.example.com/data' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
這個錯誤表明瀏覽器阻止了我們的請求,因為 API Server 沒有設置 CORS
標頭允許我們的請求來源。
於是,使用 Google 搜尋相關錯誤信息
這是一個常見的跨域資源共享(CORS)問題。這些報錯通常發生在前端和後端之間屬於不同的域名、端口或協議,違反了同源政策。
解決方法
Access-Control-Allow-Origin: http://localhost:3000
Access-Control-Allow-Methods: GET, POST, PUT, DELETE